package com.hb.order.aop;

import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

@Component
@Aspect
@Slf4j
public class MethodLogAspect {

    // @annotation方式是指：切入点 是指定作用于方法上的注解，即被Spring扫描到方法上带有该注解 就会执行切面通知。
    @Pointcut(value = "@annotation(com.hb.order.annotation.MethodLog)")
    public void pointCut(){}

    @Before("pointCut()")
    public void beforeAction (JoinPoint joinPoint) {
        //System.out.println("前置通知: " + joinPoint);
        log.debug("前置通知: " + joinPoint);
    }

}
